<html>
<body>

<h3>函数功能</h3>该函数从内存中的对话框模板上创建一个无模式对话框，在显示对话框之前，函数把应用程序定义的值作为WM＿INITDIALOG消息的IParam参数传送到对话框过程。应用程序可用此值初始化对话框控制。<br>
<h3>函数原型</h3>HWND CreateDialoglndirectParam(HINSTANCE hlnstance，LPCDLGTEMPLAT IPTemPIate，HWNDhWndParent,DLGPROC IpDialogFunc，LPARAM IParamlnlt）；<br>
<h3>参数</h3>
hlnstance：标识将创建对话框的模块的事例。<br>
IpTemplate：指向一个含有模板的全局内存对象的指针，CreateDialoglndirectParam用该模板来创建对话框。<br>
对话框模板由描述对话框的标题组成，跟随着标题之后的是描述每一个控制的一个或多个数据块，模板可以用标准格式或扩展格式。<br>
在标准模板中，标题是由DLGTEMPLATE结构跟随一个变长数组组成。每个控制的数据是由DLGTEMPLATE结构跟随一个变长数组组成。<br>
在扩展模板中，标题用DLGTEMPLATEEX格式，且控制定义用DLGITEMPLATEEX格式。<br>
CreateDiloglndirectParam函数返回后，可释放模板，此模板仅用于启动对话框。<br>
HWndParent：标识拥有对话框的窗口。<br>
IpDialogFunc：指向对话框过程的指针，有关更多的对话框过程的信息，参见DialogProc。<br>
lParamlnit：指定传递到WM＿INIDIALOG消息的IParam参数中对话框中的值。<br>
<h3>返回值</h3>如果函数调用成功，则返回值为指向对话框的句柄：如果函数调用失败，则返回值为NULL。若想获得更多的错误信息，可调用GetLastError函数。<br>
备注：CreatDialoglndirectParam函数使用createWindowEx函数来创建对话框，然后该函数把一个WM_INTDIALOG消息发送到对话框应用程序，如果模板指定DS_SETFONT类型，则函数也把一个WM_SETFONT消息发送到对话框应用程序。如果模板指定WS＿VISBLE类型，则函数显示对话框，最后CreatDialogdirectParam返回指向对话框的窗口句柄。<br>
CreatDialoglndirectParam函数返回之后，可用ShowWindow函数来显示对话框（如果还没有显示）。用DestroyWindow函数来清除对话框。<br>
在标准对话框模板中，DLGTEMPLATE结构和每一个DLGITEMTEMPLATE结构必须按DWORD边界对齐，遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。<br>
在扩展对话框模板上DLGTEMPLATEEX结构和每一个DLGITEMTEMPLATEEX结构必须按DWORD边界对齐，遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。<br>
所有对话框模板的字符串，例如对话框和按钮的标题，一定是Unicode字符串。使用<br>
MultiByteTowidechar函数产生这些Unicode字符串可以创建在Windows和Windows NT两种系统上工作的代码。<br>
Windows 95和以后版本：系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框，可以在WM_INITDLALOG消息处理器中创建控制，而不是把它们放入模板中。<br>
Windows CE：可视屏幕面积之外的对话框不能自动地被重新定位。<br>
如果用户在对话框有输入焦点的同时按下Alt＋H，则系统把一个WM_HELP消息传送到对话过程，应用程序应该通过显示对话框描述表积极帮助来响应此消息。<br>
DLGTEMPLATE结构的类型成员不支持下列类型：<br>
DS_SETFONT：在对话框中不能设置字体。<br>
DS_RECURSE：不需要。任何一个子对话框可自动地被看作递归对话框。<br>
DS_CONTROL：不需要。<br>
WS_EX_CONTROLPARENT：所有对话框都被自动假设为控制母体。用DS_CENTER类型可得到缺省位置定位。如果没有指定WS_CHLD．则假设为WS_POPUP类型。<br>
<h3>速查</h3>Windows NT：3.1及以上版本：Windows：95及以上版本；Windows CE：1.0及以上版本；头文件：winuse.h库文件:user32.lib;Unicode：在Windows NT上实现为Unicode和ANSI两种版本。<br>

</body>
</html>
